// 测试 Array 静态属性

console.log( Array.name );
console.log( Array.length );
console.log( Array.prototype );

console.log( '- '.repeat(10) );

// 定义一个挺像数组的对象(实例级别)
// 通常这种对象被称作 类数组对象(实例级别)
let like = {
    '0': '张三丰',
    '1': '宋远桥',
    'length': 2
}
// 用 for 循环像遍历数组一样处理 like 实例
for( let i = 0 ; i < like.length ; i++ ){
    console.log( like[ i ] );
}

// Array.isArray( instance ) 用于判断指定实例是否是数组
console.log( Array.isArray( like ) ); // false

// 采用 数组字面量 创建数组对象(实例级别)
let scores = [ 100 , 90 , 99 , 100 ];
console.log( Array.isArray( scores ) ); // true

// Array.from( arrayLike ) 将 类数组对象(实例级别) 转换为 数组对象(实例级别)
let names = Array.from( like );
console.log( names );

// Array.of(...items) 将一组参数值添加到一个新数组中并返回该数组
let numbers = Array.of();
console.log( numbers );

numbers = Array.of(5);
console.log( numbers );

numbers = Array.of(5,5,6,6,7,8);
console.log( numbers );

let pandas = Array.of({id:1,name:'和和'} , {id:2,name:'美美'});
console.log( pandas );
for( let i = 0 , n = pandas.length ; i < n ; i++ ){
    let p = pandas[ i ];
    console.log( p.id , p.name );
}

// 总结:
// Array.isArray( instance ) 判断指定实例是否是数组
// Array.from( arrayLike ) 将类数组实例转换为数组实例
// Array.of(...items) 将一组参数作为元素添加到新数组并返回新数组